window.workspace = function(){
	var response  = <?#$respons?>;
	var dform, dtree, ftree, store, win, layout;
	store = new Ext.data.JsonStore({
    	url	: '/share/douser.html',
    	autoDestroy: true,
    	fields: ['id', 'name'],
    	root: 'dataset'
    });
	function addForm(node) {
		if(!win) {
		    dform = new Ext.form.FormPanel({
				frame		: true,
				border		: false,
				bodyStyle	: 'padding:8px;',
		        labelWidth	: 100,
		        labelAlign  : 'right',
		    	defaults	: {
		    		xtype	  : 'textfield'
		    	},
		    	items		: [{
					xtype		: 'hidden',
					name		: 'id',
					value		: 0
				},{
                    xtype		: 'combotree',
                    fieldLabel	: '父级部门名称',
                    hiddenName	: 'pid',
		            name		: 'pid',
                    emptyText	: '顶级部门',
                    tree		: {  
                    	xtype	  		: 'treepanel',
                		useArrows		: true,
                		autoScroll		: true,
                		animate			: true,
                		containerScroll	: true,
                		border			: false,
                		rootVisible		: false,
                		loader 			: {
                			dataUrl		: '/admin/org/dotree.html'
                		},
                		root			: {
                			nodeType	: 'async',
                			expanded 	: true
                		}
                	}, 
            		listWidth	: 220,
                	width 		: 140
				},{
					xtype		: 'textfield',
					fieldLabel	: '部门名称',
					width		: 180,
					name		: 'name',
					allowBlank	: false
				},{
					xtype		: 'textfield',
					fieldLabel	: '部门代码',
					width		: 120,
					name		: 'code',
					allowBlank	: false
				},{
					xtype		: 'datefield',
					fieldLabel	: '设立时间',
					width		: 120,
					name		: 'stime',
					format		: 'Y-m-d',
					allowBlank	: false
				},{
					xtype		: 'textarea',
			 		fieldLabel	: '部门职责描述',
					width		: 248,
					height		: 65,
					name		: 'desc',
					allowBlank	: false
				},{
		    		xtype			: 'combo',
		            store			: store,
					displayField	: 'name',
					valueField		: 'id',
					emptyText		: '请选择',
		            fieldLabel		: '部门负责人',
		            pageSize		: 10,
		            typeAhead		: true,
		            width			: 248,
		            typeAheadDelay  : 0,
		             minChars		: 1,
		            autoSelect 		: true,
		            forceSelection	: true,
					triggerAction	: 'all',
					enableKeyEvents : true,
					allowBlank		: false,
					hiddenName		: 'chargeuid',
					mode			: 'remote',
		            name			: 'chargeuid'
		        },{
		    		xtype			: 'combo',
		            store			: store,
					displayField	: 'name',
					valueField		: 'id',
					emptyText		: '请选择',
		            fieldLabel		: '分管副总',
		            minChars		: 1,
		            pageSize		: 10,
		            typeAhead		: true,
		            width			: 248,
		            typeAheadDelay  : 0,
		            autoSelect 		: true,
		            forceSelection	: true,
					triggerAction	: 'all',
					enableKeyEvents : true,
					allowBlank		: false,
					hiddenName		: 'prechargeuid',
					mode			: 'remote',
		            name			: 'prechargeuid'
		        }]
			});
			win = new Ext.Window({
				title	: '新增部门资料',
				iconCls	: 'icon-add',	
				width	: 420,
				items	: [dform],
				closeAction : 'hide',
				bbar 	: {
					xtype		: 'toolbar',
					buttonAlign	: 'right',
					items		: [{
						text	: '保存', 
						iconCls	: 'icon-save',
						url		: '/admin/org/dosave.html',
						handler	: function(){
						if(!dform.getForm().isValid())
		        			return;
		        		dform.getForm().submit({
			        		waitMsg 	: '数据提交处理中...',
							waitTitle 	: '信息提示',
			        		clientValidation: true,
			        		url		: '/admin/org/dosave.html',
				        	success	: function(form, action) {
				        		dtree.getRootNode().reload();
								dtree.getRootNode().expand(true);
								var tree = dform.getForm().findField('pid').tree;
								if(tree && tree.getRootNode) {
									tree.getRootNode().reload();
								}
				        		win.hide();
							},
							failure	: main.submitFailure
				    	});
					}}]
				}
			});
			window.onresize = function () {
				win.center();
			}
		}
		var id = Ext.isObject(node)? node.attributes.id:0;
		win.setTitle((id > 0)? '编辑部门资料':'新增部门资料');
		win.setIconClass((id > 0)? 'icon-edit':'icon-add');
		win.show();
		dform.getForm().reset();
		if(id > 0) {
			var obj = null;
			for(var i in node.attributes) {
				if(Ext.isString(i) && (obj = dform.getForm().findField(i))) {
					obj.setValue(node.attributes[i]);
				}
			}
			dform.getForm().findField('chargeuid').setRawValue(node.attributes.caccount+'['+node.attributes.cnickname+']');
			dform.getForm().findField('prechargeuid').setRawValue(node.attributes.paccount+'['+node.attributes.pnickname+']');
			if(node.parentNode != dtree.getRootNode()) {
				var node = {'id':node.attributes['pid'], 'text':node.parentNode.attributes['name']};
	    		dform.getForm().findField('pid').setValue(node);
			}
		}
	}
	dtree = new Ext.ux.tree.TreeGrid({
		tbar			: [{
			text	: '刷新',
			iconCls	: 'icon-refresh',
			handler : function(){
				dtree.getRootNode().reload();
				dtree.getRootNode().expand(true);
			}
		},{
			text	: '新增部门资料',
			iconCls	: 'icon-add',
			url		: '/admin/org/dosave.html',
			handler : function(){
				addForm(0);
			}
		}],
		region		: 'center',
        columns:[{
            header: '部门名称',
            dataIndex: 'name',
            width: 260
        },{
            header: '流水号',
            dataIndex: 'id',
            width: 100
        },{
            header: '部门负责人',
            width: 120,
            dataIndex: 'chargeuid',
            tpl: new Ext.XTemplate('{chargeuid:this.user}', {
            	user: function(v, data) {
                	v = parseInt(v);
                	if(v > 0) {
                		return data.cnickname+'['+data.caccount+']';
                	}
                	return data.charger;
                }
            })
        },{
            header: '分管副总',
            width: 120,
            dataIndex: 'prechargeuid',
            tpl: new Ext.XTemplate('{prechargeuid:this.user}', {
            	user: function(v, data) {
                	v = parseInt(v);
                	if(v > 0) {
                		return data.pnickname+'['+data.paccount+']';
                	}
                	return data.precharger;
                }
            })
        },{
            header: '部门代号',
            width: 100,
            dataIndex: 'code'
        },{
            header: '设立时间',
            width: 120,
            dataIndex: 'stime'
        },{
            header: '职能描述',
            width: 320,
            dataIndex: 'desc'
        }],
        loader 			: {
			dataUrl		: '/admin/org/dotree.html'
		},
		listeners 		: {
			'dblclick' : function(node){
				addForm(node);
			}
		}
    });
	layout = {
		title	: response.title,
		layout	: 'border',
		region	: 'center', 
		items	: [dtree],
		listeners : {'destroy':function(){
	    		win && win.close();
	    }}
	}
	return layout;
}();